/**
 * Project Name:scb_sms
 * File Name:IMenuService.java
 * Package Name:com.scb.dev.sms.service.sm
 * Date:Nov 20, 201812:41:17 PM
 * Copyright (c) 2018, Y-Rainson All Rights Reserved.
 *
 */
package com.scb.dev.mms.service;


import com.scb.dev.mms.common.ResponseResult;
import com.scb.dev.mms.pojo.Menu;

/**
 * ClassName: IMenuService <br/>
 * Description:
 * date: Nov 20, 2018 12:41:17 PM <br/>
 *
 * @author Y-Rainson
 * @version V1.0
 * @since JDK 1.8
 */
public interface IMenuService {


	/**
	 *
	 * @MethodName: addMenu
	 * @Description: add a menu
	 *
	 * @Param:  Menu menu
	 * @Return: ResponseResult
	 * @Date: 2018/12/2 16:32
	 */
	ResponseResult addMenu(Menu menu);

	/**
	 *
	 * @MethodName: deleteMenuByMenuId
	 * @Description: delete a menu by it id
	 *
	 * @Param: String menuId
	 * @Return: ResponseResult
	 * @Date: 2018/12/2 16:34
	 */
	ResponseResult deleteMenu(String menuId);
	

	/**
	 *
	 * @MethodName: queryAllMenu
	 * @Description: query all menu
	 *
	 * @Param:
	 * @Return: ResponseResult
	 * @Date: 2018/12/2 16:34
	 */
	ResponseResult queryAllMenu();
	

	/**
	 *
	 * @MethodName: updateMenu
	 * @Description: update a menu by it id.
	 *
	 * @Param: Menu menu
	 * @Return: ResponseResult
	 * @Date: 2018/12/2 16:35
	 */
	ResponseResult updateMenu(Menu menu);
	

	/**
	 *
	 * @MethodName: generateMenuTree
	 * @Description: generate Menu Tree
	 *
	 * @Param:
	 * @Return: ResponseResult
	 * @Date: 2018/12/2 16:35
	 */
	ResponseResult generateMenuTree();


	/**
	 *
	 * @MethodName: generateMenuTree
	 * @Description: generate Menu Tree by accountID
	 *
	 * @Param: String roleId
	 * @Return: ResponseResult
	 * @Date: 2018/12/2 16:35
	 */
	ResponseResult generateMenuTree(String roleId);
	
}
